import { createStore } from 'vuex'

const moduleA = {
  // 子模块state 建议写成函数
  state: () => {
    return {
      username: '模块A'
    }
  },
  getters: {
    // vuex的计算属性
    newName (state) {
      return state.username + '!!!!!'
    }
  }
}
const moduleB = {
  namespaced: true,
  // 子模块state 建议写成函数
  state: () => {
    return {
      username: '模块B'
    }
  },
  getters: {
    // vuex的计算属性
    newName (state) {
      return state.username + '!!!!!'
    }
  },
  mutations: {
    // 改数据函数
    updateUsername (stete) {
      stete.username = 'ls2'
    }
  },
  actions: {
    // 请求数据函数
    updateUsername2 (ctx) {
    // 发请求
      setTimeout(() => {
        ctx.commit('updateUsername')
      }, 1000)
    }
  }
}
// 创建vuex仓库并导出
export default createStore({
  modules: {
    moduleA,
    moduleB
  }
})

// import { createStore } from 'vuex'
// // 创建vuex仓库并导出
// export default createStore({
//   state: {
//     // 数据
//     username: 'zs'
//   },
//   getters: {
//     // vuex的计算属性
//     newName (state) {
//       return state.username + '!!!!!'
//     }
//   },
//   mutations: {
//     // 改数据函数
//     updateUsername (stete) {
//       stete.username = 'ls2'
//     }
//   },
//   actions: {
//     // 请求数据函数
//     updateUsername2 (ctx) {
//     // 发请求
//       setTimeout(() => {
//         ctx.commit('updateUsername')
//       }, 1000)
//     }
//   },
//   modules: {
//     // 分模块
//   }
// })
